#ifndef PLAYERWINDOW_H
#define PLAYERWINDOW_H

#include <QMainWindow>

#include <QMediaPlayer>//音乐播放器对象
#include <QMediaPlaylist>//音乐播放列表
#include <QListWidgetItem>//列表每一行的对象类型
//使用set容器 保存历史记录（不能同存在重复元素）
#include <set>
#include "dbmanager.h"
using namespace std;
QT_BEGIN_NAMESPACE
namespace Ui { class PlayerWindow; }
QT_END_NAMESPACE

class PlayerWindow : public QMainWindow
{
    Q_OBJECT

public:
    PlayerWindow(QString userName,QWidget *parent = nullptr);
    ~PlayerWindow();


private slots:
    void on_pushButton_pro_clicked();

    void on_pushButton_play_clicked();

    void on_pushButton_next_clicked();

    void on_pushButton_music_clicked();

    void on_pushButton_account_clicked();

    void on_comboBox_currentIndexChanged(const QString &arg1);

    //收到播放的进度值，同步到 滑动条上
    void slot_positionChanged(qint64 position);
    void on_horizontalSlider_music_sliderMoved(int position);

    //void on_horizontalSlider_music_sliderReleased();

    void on_horizontalSlider_music_sliderPressed();

    void on_listWidget_music_itemDoubleClicked(QListWidgetItem *item);


    void dealHistory();
    void on_horizontalSlider_voice_sliderMoved(int position);

private:
    Ui::PlayerWindow *ui;
    //播放器对象
    QMediaPlayer* player;
    //播放列表
    QMediaPlaylist * playerList;
    //存储 所有的歌曲名称的容器
    QStringList musicNames;
    set<SongInfo> historySet;
    QString userName;



};
#endif // PLAYERWINDOW_H
